import Vue, { VueConstructor } from "vue";

export const extend = (Vue: VueConstructor) => {

  // 访问 vm.$18n 就相当于访问 vm._i18n ，即 new Vue 时，传入的 i18n 实例。
  if (!Vue.prototype.hasOwnProperty('$i18n')) {
    Object.defineProperty(Vue.prototype, '$i18n', {
      get() {
        return this._i18n
      }
    })
  }


  Vue.prototype.$t = function (this: Vue, key) {
    const i18n = this.$i18n
    return i18n._t(key, i18n.locale, i18n._getMessages())
  }

}